Cryptography is used to enhance the security of electronic communications between computers. One cryptographic technique involves use of asymmetric keys to encrypt, decrypt, and identify senders. Such a technique typically employs a public key to encrypt a communication or verify a digital signature and a secret or private key for signing and decrypting communications. While the use of asymmetric keys provides some degree of security against unauthorized viewing and use of the communication, there are problems associated with authentication of the parties.
A trusted certificate authority (CA) may solve authentication problems as to the identity of the sender by issuing a digital certificate. A digital certificate typically contains the certificate holder's name and public key, the CA's name and digital signature, a validity period and a serial number. If the digital signature is valid and if the CA is trustworthy, the recipient can generally trust that the sender identified in the certificate holds the private key corresponding to the public key in the certificate. To send a relatively secure message, a sender encrypts the message using the user's public key and transmits the message to the user. The message can be decrypted only by the user's private key. Thus, the identity of the sender by a trusted CA is critical to the security of the communication.
A further authentication process involves the sending party digitally signing a communication by encrypting the communication with the sending party's private key. The communication can only be decrypted by using the sending party's public key. Thus, the recipient of the communication can trust that the communication came from the sending party.
Within large organizations, an authentication hierarchy may be desirable that corresponds with the levels of the organization. Each level of the organization could have its own private key, and therefore any employee at that particular level would have the same access. While an authentication hierarchy may create some scalability in that maintenance of private keys is relatively less intensive, problems with authentication persist, particularly with respect to latency and resource utilization involved in checking revocation lists.
Revocation lists exist partly to accommodate for certificates that have been compromised and are no longer valid. Prior to allowing access or accepting a communication from a certificate holder, an authorization entity typically checks a revocation list to ensure the certificate has not been revoked. To circumvent at least some of the problems associated with checking revocation lists, U.S. Pat. No. 6,301,658 to Koehler (October 2001) teaches a verification server that assigns a timestamp to a certificate indicating when the certificate was last authenticated. The verification server incrementally updates the levels of authority. Revocation lists having information on revoked certificates, are only accessed when the timestamp indicates the certificate is out of date. The need to access revocation lists, however, still exists as do problems associated with accessing the revocation lists.
U.S. Pat. No. 5,903,651 to Kocher (May 1999) teaches that dependency on revocation lists may be reduced to some degree by a method that reduces the scope of the search needed to determine whether a certificate has been revoked. Even here, problems related to network latency persist since the revocation list still needs to be accessed.
Kerberos is a network authentication protocol developed by M.I.T. (see http://web.mit.edu/kerberos/www/) that teaches a method for unitary login, wherein a single authentication server identifies a user once for access to an application servers. Kerberos uses symmetric keys only, after the first identification step that may use either a password or a user certificate. However, Kerberos is deficient in that it does not allow a standard web browser to be used by the client for access to the application server, or convey the user certificate to the application server for encryption or access control purposes. Also, Kerberos requires more cross-domain communication (which Kerberos calls “inter-realm”) when the client and server are not in a common domain.
Thus, there is a need for methods and devices that can substantially circumvent revocation lists while maintaining the integrity of digital certificates and using a web browser to obtain a resource.